// 导入crwler
import Crawler from 'crawler';

const c = new Crawler({
    //每个请求处理完成的回调函数
    callback: function(error,res,done){
        if(error){
            console.log('错误信息',error);
        }else{
            //执行成功没有错误
            // $ 默认为 Cheerio 解析器
            // 它是核心jQuery的精简实现，可以按照jQuery选择器语法快速提取DOM元素
            const $ = res.$;
            console.log($('title').text());

        }

        //执行标识任务结束，释放资源
        done();
    }
});

// 将一个URL加入请求队列，并使用默认回调函数
c.queue('https://www.baidu.com');

//多个URL加入请求队列
c.queue(['https://www.baidu.com','https://taobao.com']);

// 将一段HTML代码加入请求队列，即不通过抓取，直接交由回调函数处理（可用于单元测试）
c.queue([{
    html: '<title>This is a title</title>'
}]);

// 对单个URL使用特定的处理参数并指定单独的回调函数
c.queue([{
    uri: 'http://www.baidu.com',
    //禁用了默认 jQuery 解析，直接使用原始响应体
    jQuery: false,

    // The global callback won't be called
    callback: function (error, res, done) {
        if(error){
            console.log(error);
        } else {
            // 使用原始响应体  res.body
            console.log('Grabbed', res.body.length, 'bytes');
        }
        done();
    }
}]);